package pojo.operacional;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import pojo.cadastro.operacional.Produto;

@Entity
@Table(name = "tbf_despesa_item")
@NamedQueries({
    @NamedQuery(name = "CompraItem.listAll", query = "SELECT ci FROM CompraItem ci ORDER BY ci.id")
})
public class CompraItem implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "DIT_LON_ID")
    private long id;
    @Column(name = "DIT_INT_QTD", nullable = false)
    private int quantidade;
    @Column(name = "DIT_DBL_VLR_UNIT", nullable = false)
    private double valorUnitario;
    @Column(name = "DIT_DBL_VLR_DESC", nullable = false)
    private double valorDesconto;
    @Column(name = "DIT_DBL_VLR_TOT", nullable = false)
    private double valorTotal;
    
    @ManyToOne
    @JoinColumn(name = "DES_LON_ID", nullable = false)
    private Compra compra;

    @ManyToOne
    @JoinColumn(name = "PRO_LON_ID", nullable = false)
    private Produto produto;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    public double getValorDesconto() {
        return valorDesconto;
    }

    public void setValorDesconto(double valorDesconto) {
        this.valorDesconto = valorDesconto;
    }

    public double getValorTotal() {
        return valorTotal;
    }

    public void setValorTotal(double valorTotal) {
        this.valorTotal = valorTotal;
    }

    public double getValorUnitario() {
        return valorUnitario;
    }

    public void setValorUnitario(double valorUnitario) {
        this.valorUnitario = valorUnitario;
    }

    public Compra getCompra() {
        return compra;
    }

    public void setCompra(Compra compra) {
        this.compra = compra;
    }

}
